<?php 
//Klass som skapar allt som användaren ser och hanterar indata.

class LoginView {
	
	private $username = 'username';
	private $password = 'password';
	private $login = 'login';
	private $logout = 'logout';
	private $keepLogged = 'keepLogged';
	private $cookieLocation = "usercookie";
	
	const LOGGED_IN_MESSAGE = "Du är inloggad";
	const LOGGED_OUT_MESSAGE = "Du är utloggad";
	const ERROR_MESSAGE = "Fel användarnamn eller lösenord";
	
	//Skapar inloggningsformulär
	public function CreateLoginBox($message) {
		
		return "
				<form id='login'>
				<fieldset>
					<legend>Login</legend>
					<label for='username'>Användarnamn: </label>
					<input type='text' name='username' id='username' />
					
					<label for='password'>Lösenord: </label>
					<input type='password' name='password' id='password' />
					
					<input type='submit' name='login' value='Logga in' />
					
					<label for='keepLogged'>Håll mig inloggad</label>
					<input type='checkbox' name='keepLogged' value='keepLogged' />
				</fieldset>
				</form>
				$message				
		"		
		;
	}
	
	//Skapar utloggninsformulär
	public function CreateLogoutBox($message){
		return "
				<form>
					<input type='submit' name='logout' value='Logga ut' />
				</form>
				$message
		"
		;
	}
	
	//Funktion som kontrollerar ifall det står något i arrayen _GET på posten username och returnerar det värdet. Annars returneras null
	public function GetUserName(){
		
		if(isset($_COOKIE[$this->cookieLocation][$this->username])){
			return $_COOKIE[$this->cookieLocation][$this->username];
			
		}
		else if(isset($_GET[$this->username])){
			return $_GET[$this->username];
		}
		else{
		return null;
		}
	}
	
	//Funktion som kontrollerar ifall det står något i arrayen _GET på posten password och returnerar det värdet. Annars returneras null
	public function GetPassword(){
		if(isset($_COOKIE[$this->cookieLocation][$this->password])){
			return $_COOKIE[$this->cookieLocation][$this->password];
		}			
		
		else if(isset($_GET[$this->password]) == true){
			return $_GET[$this->password];
		}
		else{
			return null;
		}
	}
	
	//Funktion som kontrollerar om användaren har klickat på login-knappen
	public function TriedToLogIn(){
		if(isset($_COOKIE[$this->cookieLocation])){
			return true;
		}
		else{
			return isset ($_GET[$this->login]);
		}
		
	}
	
	//Funktion som kontrollerar om användaren har klickat på logout-knappen
	public function TriedToLogOut(){
		return isset ($_GET[$this->logout]);		
	}
	
	// Kontrollerar om användaren vill fortsätta att vara inloggad
	public function KeepLoggedIn(){
		return isset ($_GET[$this->keepLogged]);
	}
	
	// Funktion som skapar en cookie med användarnamn och lösenord.
	public function CreateCookie($Username, $Password){
		setcookie("$this->cookieLocation[$this->username]", $Username, time() + 1800);
		setcookie("$this->cookieLocation[$this->password]", $Password, time() + 1800);
	}
	
	//Tar bort en cookie
	public function DestroyCookie(){
		setcookie("$this->cookieLocation[$this->username]", "", time() - 3600);
		setcookie("$this->cookieLocation[$this->password]", "", time() - 3600);
	}		
	
	//Funktion som kontrollerar om det finns någon cookie
	public function FindCookie(){
		return isset($_COOKIE[$this->cookieLocation]);
	}
}
